home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Extra 1996 #2 / Amiga Plus CD - 1996 - No. 2 Extra.iso / clarissa1_1-demo / macros / mix03.clssa < prev    next >
Text File  |  1995-01-20  |  3KB  |  100 lines

  1. /***********************************************************************
  2.  GADGET: "Pap-Rap" "2" AUTO TYP: "?"
  3.  
  4.  $DAT >>Mix03.clssa<<         15.02.1993 - (C) ProDAD Holger Burkarth
  5.                               20.01.1995 - (C) ProDAD Michael Christoph
  6. ************************************************************************/
  7.  
  8. Options Results
  9. Address clariSSA
  10.  
  11.   FailAt 99
  12.   AltFail=RESULT
  13.  
  14.   DO FOREVER
  15.     Anims=""
  16.     GetAnimInfo Source_A
  17.     IF RESULT~='' THEN Anims=Anims||" Source_A "
  18.     GetAnimInfo Source_B
  19.     IF RESULT~='' THEN Anims=Anims||" Source_B "
  20.     GetAnimInfo Source_C
  21.     IF RESULT~='' THEN Anims=Anims||" Source_C "
  22.     GetAnimInfo Source_D
  23.     IF RESULT~='' THEN Anims=Anims||" Source_D "
  24.  
  25.     IF Anims~='' THEN DO
  26.       SelectAnim Anims "TITLE 'Wählen Sie die Quell-Animtion@für den Rap aus.' REQ"
  27.       IF RC~=0 THEN LEAVE
  28.       SelectAnim RESULT
  29.  
  30.       GetAnimInfo
  31.       PARSE VAR RESULT . "FRAMES" Max .
  32.       IF MAX >=2 THEN DO
  33.         GetArea
  34.         MerkeArea=RESULT
  35.         PARSE VAR RESULT "FROM" Start "TO" Ende .
  36.  
  37.         Normal=0
  38.         MSRequester "TITLE '*** Pap - Rap ***'",
  39.                           "''",
  40.                           "'Wählen Sie bitte die Rap-Art aus.'",
  41.                     "PTEXT 'normaler Rap'",
  42.                           "'dynamischer Rap'"
  43.         IF RC~=0 THEN LEAVE
  44.         IF RESULT=1 THEN Normal=1
  45.  
  46.         IF Normal=0 THEN DO
  47.           Ver=170
  48.           INTRequest "'Verlängerung der Animation''in Prozent (1-1000)?'" Ver
  49.           IF RC~=0 THEN LEAVE
  50.           Ver=MAX(1,MIN(1000,RESULT))
  51.  
  52.  
  53.           Sch=50
  54.           INTRequest "'Scheitelpunkt der Rap-Kurve''in Prozent zur Länge (1-99)?'" Sch
  55.           IF RC~=0 THEN LEAVE
  56.           Sch=MAX(1,MIN(99,RESULT))
  57.  
  58.           z=0
  59.           Anz=(Ende-Start) * Ver/100
  60.           s=Sch/100
  61.           a=1/(s*s-s)
  62.           b=-a
  63.           DO UNTIL Anz<z
  64.             x=z/Anz
  65.             y= a*x*x + b*x
  66.             y=y*(Ende-Start) + Start
  67.  
  68.             SetArea FROM y TO y
  69.             Record AREA
  70.             IF RC~=0 THEN LEAVE
  71.             z=z+1
  72.           END
  73.  
  74.         END
  75.         ELSE DO
  76.           Record AREA
  77.           IF RC~=0 THEN LEAVE
  78.           SetArea TOGGLE
  79.           Record AREA
  80.           IF RC~=0 THEN LEAVE
  81.           SetArea TOGGLE
  82.           Record AREA
  83.           IF RC~=0 THEN LEAVE
  84.         END
  85.  
  86.         SetArea MerkeArea
  87.         SelectAnim MASTER
  88.         SSAControl DoDMO DDOAlloc
  89.  
  90.       END
  91.       ELSE Message "'Zu geringe Frameanzahl!'"
  92.     END
  93.     ELSE Message "'Keine Source-Animation vorhanden!'"
  94.  
  95.     LEAVE
  96.   END
  97.  
  98.   FailAt AltFail
  99. exit
  100.